package com.example.smartwaterapi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 闹钟实体类
 */
@Data
@TableName("alarm")
public class Alarm implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 设备ID
     */
    private Long deviceId;

    /**
     * 闹钟名称
     */
    private String name;

    /**
     * 小时 (0-23)
     */
    private Integer hour;

    /**
     * 分钟 (0-59)
     */
    private Integer minute;

    /**
     * 重复模式
     * 0: 不重复
     * 1: 每天重复
     * 2: 工作日重复 (周一到周五)
     * 3: 周末重复 (周六周日)
     * 4-10: 自定义重复 (对应周一到周日)
     */
    private Integer repeatMode;

    /**
     * 是否启用
     */
    private Boolean isEnabled;

    /**
     * 铃声类型
     * 0: 默认铃声
     * 1: 自定义铃声
     */
    private Integer bellType;

    /**
     * 铃声名称
     */
    private String bellName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 下次触发时间
     */
    private LocalDateTime nextTriggerTime;

    /**
     * 状态
     * 0: 禁用
     * 1: 启用
     */
    private Integer status;
} 